package com.googlecode.scrptingdoclet.evaluator.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ScriptEvaluator {

	public static final int BUILT_IN = 0;

	/**
	 * Precedence to use for components of frameworks which extend Seam
	 */
	public static final int FRAMEWORK = 10;

	/**
	 * Predence of application components (the default precedence)
	 */
	public static final int APPLICATION = 20;

	/**
	 * Precedence to use for mock objects in tests
	 */
	public static final int MOCK = 40;
	
	public String engine();

	public int precedence() default FRAMEWORK;

}
